/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.catosist.run.business.gestordescripciongasto;

import com.catosist.run.dataaccess.domain.DescripcionGastoDAO;
import com.catosist.run.dataaccess.model.DescripciongastoVO;
import com.catosist.run.services.DescripcionGastoDTO;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;

/**
 *
 * @author Bicho
 */
public class GestorDescripcionGastoImpl implements GestorDescripcionGasto {

    private List<DescripciongastoVO> descripciongastoVOs;
    private DescripcionGastoDAO descripcionGastoDAO;

    public GestorDescripcionGastoImpl() {
    }

    @Override
    public List<DescripcionGastoDTO> getAll() {

        descripciongastoVOs = descripcionGastoDAO.getAll();
        List<DescripcionGastoDTO> descripcionGastoDTOs = new LinkedList<DescripcionGastoDTO>();
        for (Iterator<DescripciongastoVO> it = descripciongastoVOs.iterator(); it.hasNext();) {
            DescripciongastoVO descripcionGastoVO = it.next();
            descripcionGastoDTOs.add(new DescripcionGastoDTO(descripcionGastoVO.getId(), descripcionGastoVO.getNombre()));
        }
        return descripcionGastoDTOs;
    }

    public DescripcionGastoDTO getByIndex(int indice) {
//        descripciongastoVOs.get(indice)
        throw new UnsupportedOperationException("Not supported yet.");
    }

    public DescripcionGastoDTO getById(int voId) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    public int getIdAtIndex(int indice) {
        DescripciongastoVO descripciongastoVO = descripciongastoVOs.get(indice);
        return descripciongastoVO.getId();
    }

    public int getIndexOf(int voId) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    public void saveOrUpdate(DescripcionGastoDTO o) {
        DescripciongastoVO descripciongastoVO = new DescripciongastoVO();
        if (o.getId() > 0) {
            descripciongastoVO.setId(o.getId());
        }
        descripciongastoVO.setNombre(o.getNombre());
        descripciongastoVO.setTipog("a");

        descripcionGastoDAO.saveOrUpdate(descripciongastoVO);
    }

    public void deleteById(int i) {
        descripcionGastoDAO.deleteById(i);
    }

    public void deleteByIndex(int index) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    public void updateListVo() {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    public DescripcionGastoDAO getDescripcionGastoDAO() {
        return descripcionGastoDAO;
    }

    public void setDescripcionGastoDAO(DescripcionGastoDAO descripcionGastoDAO) {
        this.descripcionGastoDAO = descripcionGastoDAO;
    }
}
